// require是一个方法,作用是加载模块的
// 在node中,模块有三种:
//    具体的核心模块,例如fs,http
//    用户自己编写的文件模块
//      相对路径必须加 ./
//    在 Node中没有全局作用域,只有模块作用域:比如,在a文件中定义好的变量,在b中的同名变量,不会影响a中的该变量的值;a中定义的方法,b使用不了
//      外部访问不到内部,内部也访问不到外部,默认是封闭的
//    既然是模块作用域,那如何让模块与模块之间进行通信.有时候我们加载代码,不是为了执行里面的代码,而是为了使用里面的方法
let foo = 'aaa';

console.log('a start');

// function add (a, b) {
//   return a + b;
// }

require('./b.js');

console.log('a end');

console.log('foo的值是: ' + foo);
